JDE Customizations 2° part - P&P Data Structure parameters

First I would like to thanks all the good feedback we get from our first post, it's really encouraging, please keep doing it, we really appreciate it.

Now, let talk about the parameters, I know this topic will be boring, but it's what it's, if you are not a JDE technician, please stop reading.

The parameters in the DSTR are critical for the P&P customization methodology so I recommend you to follow this recommendations as close as you can to avoid future issues.

First, let define the parameters: there are two set of parameter, what we call P&P contextual parameters and the transactional parameters. The contextual parameters are like a GPS coordinates, they will tell the Custom Server the exact point in the calling application the P&P was called. The transactional parameters are the ones that will depend on the Customization itself.

Contextual Parameters


The contextual parameter are always the same for all the P&P. When calling the P&P they should be of an inside direction (->), you just need to send the parameters.

We can enumerate 5 contextual parameter:

  • szCallingAppl:This parameter identify the Application or UBE calling the P&P. When the P&P is in a Master BSFN, it will tell the Custom Server what is the application or UBE calling the Master BSFN, for instance, if you are customizing the B4200311 Master BSFN for Sales Order entry, you may want to change the behavior for the P4210 but not from the P42101 or R4210Z, it's important to define exactly who is calling the Master BSFN otherwise you will be having unexpected behavior for any calling it. This parameter is also used to call the Get Custom Code BSFN to activate certain custom based on this parameter.

  • szCallingVers: This parameter is just used for the Get Custom Code BSFN to activate certain custom based on this parameter, it's also useful to get processing option values in the custom code itself.

  • szCallingForm / szCallingUBESection / szCallingFunction: Depending if the P&P is for an Application, and UBE or a function you will use this parameter, to tell the Custom Server the Form/ UBE Section / function it was called

  • szCallingEvent: This parameter identifies the Event from the P&P was called, for instance, OkPostButton, GridRecordFetched, DialogInitialized, etc

  • szFormAction: A P&P could be called more than once during the execution of an event, to identify the point on the event you are calling the P&P the Form Action is used, valid form actions are: ADD, AD2, DEL, VAL; it will depend what are you doing on that particular moment on the code.

Transactional parameter


Regarding transaction the transactional parameter you will send the variables you need from the base code to the custom code, for instance, if you need to validate the company, you will send the company, if you need to check the document number you send it, if you need to change a flag to stop the process you send the flag.

There is a few considerations to take in mind:

  • Always send the parameter in an inside direction (->) or inside/outside direction (<->), never just sent it back (<-) because unexpected behavior could happen.

  • When creating the P&P DSTR it's a good practice to include more parameters of what you need at that time. In a single base object, it could be more than 20 P&P calls. We have to avoid changing the base object and the corresponding P&P each time a new enhancement is required.

Hope this is a good picture about the parameters, in the next deliver we will cover some examples and do/don't.

Remember, if you are interested in applying this methodology in your company, do not hesitate in contact us, we can help you !!!

And, please keep sending us your feedback !!!!!

Contact us at any moment you need help!